package com.ruoyi.personnel.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import com.ruoyi.common.annotation.Excel;

import java.io.Serializable;
import java.util.Date;
import java.util.Map;
import java.util.HashMap;
import java.math.BigDecimal;

/**
 * 人员基本信息对象 personnel_info
 *
 * @author ruoyi
 * @date 2021-02-22
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("personnel_info")
public class PersonnelInfo implements Serializable {

private static final long serialVersionUID=1L;


    /** 人员基本信息id */
    @TableId(value = "id", type = IdType.ID_WORKER_STR)
    private String id;

    /** 工号 */
    @Excel(name = "工号")
    private String jobNumber;

    /** 姓名 */
    @Excel(name = "姓名")
    private String name;

    /** 性别 */
    @Excel(name = "性别")
    private String sex;

    /** 民族 */
    @Excel(name = "民族")
    private String nation;

    /** 籍贯 */
    @Excel(name = "籍贯")
    private String nativePlace;

    /** 健康状况 */
    @Excel(name = "健康状况")
    private String health;

    /** 婚姻状况 */
    @Excel(name = "婚姻状况")
    private String maritalStatus;

    /** 外语语种 */
    @Excel(name = "外语语种")
    private String foreignLanguages;

    /** 外语水平 */
    @Excel(name = "外语水平")
    private String foreignLevel;

    /** 毕业学校 */
    @Excel(name = "毕业学校")
    private String graduateSchool;

    /** 专业 */
    @Excel(name = "专业")
    private String major;

    /** 部门科室id */
    @Excel(name = "部门科室id")
    private Long deptId;

    /** 联系地址 */
    @Excel(name = "联系地址")
    private String contactAddress;

    /** 家庭住址 */
    @Excel(name = "家庭住址")
    private String homeAddress;

    /** 第一学历 */
    @Excel(name = "第一学历")
    private String firstDegree;

    /** 最高学历 */
    @Excel(name = "最高学历")
    private String highestDegree;

    /** 身份证号 */
    @Excel(name = "身份证号")
    private String idNo;

    /** 出身年月 */
    @Excel(name = "出身年月")
    private String birth;

    /** 管理职务 */
    @Excel(name = "管理职务")
    private String managePosition;

    /** 教学职务 */
    @Excel(name = "教学职务")
    private String techPosition;

    /** 年龄 */
    @Excel(name = "年龄")
    private Long age;

    /** 政治面貌 */
    @Excel(name = "政治面貌")
    private String politicalOutlook;

    /** 科研职务 */
    @Excel(name = "科研职务")
    private String scientificPosition;

    /** 职业类别 */
    @Excel(name = "职业类别")
    private String occupationCategory;

    /** 进入本单位时间 */
    @Excel(name = "进入本单位时间")
    private String entryTime;

    /** 联系方式 */
    @Excel(name = "联系方式")
    private String phone;

    /** 专技岗位 */
    @Excel(name = "专技岗位")
    private String professionalPost;

    /** 状态（0正常 1停用） */
    @Excel(name = "状态" , readConverterExp = "0=正常,1=停用")
    private String status;

    /** 创建者 */
    private String createBy;

    /** 创建时间 */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /** 更新时间 */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    /** 备注 */
    @Excel(name = "备注")
    private String remark;

    /** 删除标志（0代表存在 2代表删除） */
    @TableLogic
    private String delFlag;

    /** 头像 */
    @Excel(name = "头像")
    private String avatar;

    @TableField(exist = false)
    private Map<String, Object> params = new HashMap<>();
}
